package modeloDAO;

import java.sql.ResultSet;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import modeloDTO.Jugador;
import modeloDTO.Nivel;


public class NivelDAO {

	public NivelDAO() {
		super();
	}

	public static List<String> consultarNombreNiveles() {
		List<String> niveles = new ArrayList<String>();
		String tiraSQL = "SELECT * from nivel";
		ResultSet resultSet = Conexion.consultar(tiraSQL);  
		try {
			while (resultSet.next()) {
				String nombreNivel = resultSet.getString("nombrenivel");
				niveles.add(nombreNivel);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return niveles;
	}

	//Metodo para consultar el codigo de un nivel dado su nombre -> Para los combos
	public String consultarNivelCodigo(String nombreNivel){
		String codigo = "";
		String tiraSQL = "SELECT codigonivel FROM nivel where nombrenivel='"+nombreNivel+"' ";
		ResultSet resultSet = Conexion.consultar(tiraSQL); 
		try {
			resultSet.next();
			codigo = resultSet.getString("codigonivel");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}     
		return codigo;
	}
	
	//Metodo para consultar un nivel dado su codigo
	public Nivel consultarNivel(String codigoNivel){
		Nivel nivel = new Nivel();
		String tiraSQL = "SELECT * From nivel where codigonivel = '" + codigoNivel + "'" ;
		ResultSet resultSet = Conexion.consultar(tiraSQL);              
		try {
			while(resultSet.next()){
				String nombre = resultSet.getString("nombrenivel");
				int filas = resultSet.getInt("numerofilas");
				int columnas = resultSet.getInt("numerocolumnas");
				int minas = resultSet.getInt("numerominas");
				nivel = new Nivel(codigoNivel,nombre,filas,columnas,minas);
			}
		} 
		catch (SQLException e) {
			e.printStackTrace();
		}
		return nivel;
	}
	
	//Aca se almacenara el ultimo nivel jugado -> en Personalizado
	public void ModificarNivel(Nivel nivel, String codigo){
		
		String tiraSQL = "UPDATE nivel set numerofilas = '" + nivel.getNumeroFilas() + "', numerocolumnas = '" + nivel.getNumeroColumnas() + "', numerominas = '" + nivel.getNumeroMinas() + "'  where codigonivel = '" + codigo + "'" ;
		Conexion.ejecutar(tiraSQL);             
	}
}
